<?php
if(!isset($_SESSION))
{
    session_start();
}

if( !function_exists('__autoload') )
{
    function __autoload($class_name) {
    require_once $class_name . '.php';
    }
}

SAEO::ValidarAcesso( array( 0, 4 ) );


?>

<html>
<head>
<title>SAEO - Cadastro de Fornecedor</title>
<script type='text/javascript' src='templates/hintbox.js'></script>
<link rel='stylesheet' type='text/css' href='templates/estilos.css'>
<script type='text/javascript' src='templates/ajax.js'></script>
<script>
// Filtra os fornecedores pelo tipo Material/Servi�o
function CarregarFiltro( tipo )
{
	
	switch( parseInt(tipo) )
	{
		case 0:
			LimparSelect( document.getElementById("filtroTipo") );
			LimparSelect( document.getElementById("listaFornecedores") );
			var opt = document.createElement('option');
			opt.text = 'Primeiro selecione um tipo';
			opt.value = 0;
			var opt1 = document.createElement('option');
			opt1.text = 'Primeiro selecione um tipo';
			opt1.value = 0;
			document.getElementById("filtroTipo").add(opt, null);
			document.getElementById("listaFornecedores").add(opt1, null);
			
			break;
		case 1: // Material
			CarregarCategorias();
			LimparSelect( document.getElementById("listaFornecedores") );
			var opt = document.createElement('option');
			opt.text = 'Primeiro selecione uma Categoria';
			opt.value = 0;
			document.getElementById("listaFornecedores").add(opt, null);
			break;
		case 2: // Servi�o
			CarregarServicos();
			LimparSelect( document.getElementById("listaFornecedores") );
			var opt = document.createElement('option');
			opt.text = 'Primeiro selecione um Servi�o';
			opt.value = 0;
			document.getElementById("listaFornecedores").add(opt, null);
			break;

	}	
}

function LimparSelect( select )
{
	if (select != null)
	{
		for( i = select.length -1; i >= 0; i-- )
		{
			select.remove(i);
        }
     }
}

function CarregarServicos()
{
	var ajax = new sack();
	var url = "http://localhost/leonardo/classes/CarregarDados.php?informacao=servicos";
	ajax.onCompletion = function() 
    { 
    	LimparSelect( document.getElementById("filtroTipo") );
    	var informacao = document.createElement("OPTION");
		informacao.value = 0;
		informacao.innerHTML = "Selecione um servi�o";
		document.getElementById("filtroTipo").appendChild(informacao);
        var servicos = ProcessarXMLServico( ajax.responseXML ); 
		for(var i = 0; i < servicos.length; i++ )
		{
			var servico = document.createElement("OPTION");
			servico.id = servicos[i][0];
			servico.value = servicos[i][0];
			servico.innerHTML = servicos[i][1];
			document.getElementById("filtroTipo").appendChild(servico);
		}
    };

    ajax.requestFile = url;
    ajax.runAJAX();
}

function ProcessarXMLServico( xml )
{
	if ( xml != null) // verifica se houveram resultados
    {
       var resultadosXML = xml.getElementsByTagName("servico");
       var servicosCadastrados = new Array();
       
       for(var i=0; i < resultadosXML.length; i++) // percorre o resultado
       {
    		// recupera as informa��es vindas do xml
           	var servico = new Array();
           	var id = resultadosXML[i].getElementsByTagName("id")[0].firstChild.nodeValue;
           	var nome = resultadosXML[i].getElementsByTagName("nome")[0].firstChild.nodeValue; 

           	servico[0] = id;
           	servico[1] = nome;
           	
           	servicosCadastrados.push(servico);
       }

       document.getElementById("nomeFiltro").textContent = "Servi�o";

       return servicosCadastrados;
    }
	else
	{
		var informacao = document.createElement("OPTION");
		informacao.value = 0;
		informacao.innerHTML = "Nenhum Servi�o cadastrada";
		document.getElementById("filtroTipo").appendChild(informacao);
	}
}

function CarregarCategorias()
{
	document.getElementById("divFiltroTipo").style.display = "block";
	var ajax = new sack();
	var url = "http://localhost/leonardo/classes/CarregarDados.php?informacao=categorias";
	ajax.onCompletion = function() 
    { 
    	LimparSelect( document.getElementById("filtroTipo") );
    	var informacao = document.createElement("OPTION");
		informacao.value = 0;
		informacao.innerHTML = "Selecione uma categoria";
		document.getElementById("filtroTipo").appendChild(informacao);
        var categorias = ProcessarXMLCategoria( ajax.responseXML ); 
		for(var i = 0; i < categorias.length; i++ )
		{
			var categoria = document.createElement("OPTION");
			categoria.id = categorias[i][0];
			categoria.value = categorias[i][0];
			categoria.innerHTML = categorias[i][1];
			document.getElementById("filtroTipo").appendChild(categoria);
		}
    };

    ajax.requestFile = url;
    ajax.runAJAX();
}

function ProcessarXMLCategoria( xml )
{
	if ( xml != null) // verifica se houveram resultados
    {
       var resultadosXML = xml.getElementsByTagName("categoria");
       var categoriasCadastradas = new Array();
       
       for(var i=0; i < resultadosXML.length; i++) // percorre o resultado
       {
    		// recupera as informa��es vindas do xml
           	var categoria = new Array();
           	var id = resultadosXML[i].getElementsByTagName("id")[0].firstChild.nodeValue;
           	var nome = resultadosXML[i].getElementsByTagName("nome")[0].firstChild.nodeValue; 

           	categoria[0] = id;
           	categoria[1] = nome;
           	
           	categoriasCadastradas.push(categoria);
       }

       document.getElementById("nomeFiltro").textContent = "Categoria";

       return categoriasCadastradas;
    }
	else
	{
		var informacao = document.createElement("OPTION");
		informacao.value = 0;
		informacao.innerHTML = "Nenhuma Categoria cadastrada";
		document.getElementById("filtroTipo").appendChild(informacao);
	}
}

/**
 * Carrega os fornecedores com o tipo e categoria informados.
 */
function CarregarFornecedores( tipo, categoria )
{
	document.getElementById("divFornecedores").style.display = "block";
	var ajax = new sack();
	var url = "http://localhost/leonardo/classes/CarregarDados.php?informacao=carregar_fornecedor_especializacao&indice="+categoria+"&tipo="+tipo;
	ajax.onCompletion = function() 
    { 
    	LimparSelect( document.getElementById("listaFornecedores") );
    	if( categoria != 0 )
    	{
    		var fornecedores = ProcessarXMLFornecedor( ajax.responseXML ); 
    		for(var i = 0; i < fornecedores.length; i++ )
    		{
    			var fornecedor = document.createElement("OPTION");
    			fornecedor.id = fornecedores[i][0];
    			fornecedor.value = fornecedores[i][0];
    			fornecedor.innerHTML = fornecedores[i][1];
    			document.getElementById("listaFornecedores").appendChild(fornecedor);
    		}
    	}
    	else
    	{
    		var informacao = document.createElement("OPTION");
    		informacao.value = 0;
    		if( tipo == 1 )
    			informacao.innerHTML = "Primeiro selecione uma categoria";
    		else if( tipo == 2 )
    			informacao.innerHTML = "Primeiro selecione um servi�o";
    		else
    			informacao.innerHTML = "";
    		document.getElementById("listaFornecedores").appendChild(informacao);
    	}
        
    };

    ajax.requestFile = url;
    ajax.runAJAX();
	
}

function ProcessarXMLFornecedor( xml )
{
	if ( xml != null) // verifica se houveram resultados
    {
       var resultadosXML = xml.getElementsByTagName("fornecedor");
       var fornecedoresCadastrados = new Array();
       
       for(var i=0; i < resultadosXML.length; i++) // percorre o resultado
       {
    		// recupera as informa��es vindas do xml
           	var fornecedor = new Array();
           	var id = resultadosXML[i].getElementsByTagName("id")[0].firstChild.nodeValue;
           	var nome = resultadosXML[i].getElementsByTagName("nome")[0].firstChild.nodeValue; 

           	fornecedor[0] = id;
           	fornecedor[1] = nome;
           	
           	fornecedoresCadastrados.push(fornecedor);
       }

       return fornecedoresCadastrados;
    }
	else
	{
		var informacao = document.createElement("OPTION");
		informacao.value = 0;
		informacao.innerHTML = "Nenhum Fornecedor cadastrado";
		document.getElementById("listaFornecedores").appendChild(informacao);
	}
}

function AdicionarFornecedor( remetente, destino )
{
	//var listaFornecedores = document.getElementById("listaFornecedores");
	var indexFornecedorSelecionado = remetente.selectedIndex;
	var fornecedorSelecionado = remetente.options[indexFornecedorSelecionado];
	if( fornecedorSelecionado.value != 0 )
	{
		for( var i = 0; i < destino.options.length; i++ )
		{
			var nomeFornecedor = destino.options[i].textContent;
			if( nomeFornecedor.match(fornecedorSelecionado.textContent) != null )
				return;
		}
		destino.add(fornecedorSelecionado, null);
	}
}

function SalvarFornecedores()
{
	var fornecedoresSelecionados = document.getElementById("fornecedoresSelecionados");
	if( fornecedoresSelecionados.length == 0)
	{
		alert("� necess�rio escolher no m�nimo 1 fornecedor!");
		return false;
	}
	for(var i = 0; i < fornecedoresSelecionados.length; i++ )
	{
		var hidden = document.createElement("INPUT");
		hidden.type = 'hidden';
		hidden.name = 'fornecedores[]';
		hidden.value = fornecedoresSelecionados[i].id;
		document.getElementById("fornecedoresPesquisaPreco").appendChild(hidden);
	}
}

</script>
</head>
<body class='body'>
<form name='fornecedoresPesquisaPreco' id='fornecedoresPesquisaPreco'
	method='post' action='GerarPesquisaPreco.php?juncao=<?php echo $_GET['juncao']?>'
	onsubmit='return SalvarFornecedores();'><input type='hidden'
	name='processoId' value='<?php echo $_GET['processoId'] ?>'></input>
<table width='779' border='0' cellspacing='0' cellpadding='0'
	align='center' bgcolor='#FFFFFF'>
	<tr>
		<td colspan='2'><?php include "Topo.php"; ?></td>
	</tr>
	<tr>
		<td>
		<div class='titulosTabelas'
			style='width: 779; height: 20; background: url(templates/tabela.jpg)'>PESQUISA
		DE PRE�O</div>
		</td>
	</tr>
	<tr>
		<td colspan='3'>&nbsp;</td>
	</tr>
	<tr>
		<td>
		<table class='tabela' width='650' border='0' cellspacing='0'
			cellpadding='0' align='center' bgcolor='#FFFFFF'>
			<tr>
				<td colspan='3'>&nbsp;</td>
			</tr>
			<tr>
				<td class='textoTabelas'>
				<div style='width: 45%; position: relative; left: 10px'>Tipo: <select
					style='position: relative; left: 10px' name='tipoInformacao'
					id='tipoInformacao' class='inputTexto'
					onchange='CarregarFiltro(this.value);'>
					<option value='0'>Selecione o tipo do cadastro</option>
					<option value='1'>Material</option>
					<option value='2'>Servi�o</option>
				</select></div>
				</td>
				<td rowspan='10' style='width: 10%'>
				<div style='position: relative; left: 10px'>
				<button type='button'
					onclick='AdicionarFornecedor( document.getElementById("listaFornecedores"), document.getElementById("fornecedoresSelecionados"));'>>></button>
				<br>
				<br>
				<button type='button'
					onclick='AdicionarFornecedor( document.getElementById("fornecedoresSelecionados"), document.getElementById("listaFornecedores") );'>
				<<</button>
				</div>
				</td>
				<td style='width: 45%; position: relative; left: 10px'
					class='textoTabelas'>Fornecedores Selecionados:</td>
			</tr>
			<tr>
				<td class='textoTabelas'>
				<div
					style='width: 45%; position: relative; left: 10px; top: -5px; display: block'
					id='divFiltroTipo'><span id='nomeFiltro'>Especializa��o:</span><br>
				<select style='position: relative; left: 10px' name='filtroTipo'
					id='filtroTipo' class='inputTexto'
					onchange='CarregarFornecedores(document.getElementById("tipoInformacao").value, this.value);'>
					<option value='0'>Primeiro selecione o tipo do cadastro</option>
				</select></div>
				<div
					style='width: 45%; position: relative; left: 10px; top: -5px; display: block'
					id='divFornecedores'><span id='nomeFiltro'
					style='position: relative; top: 10px'>Fornecedores:</span> <select
					style='position: relative; left: 10px; top: 10px; width: 260px'
					size='5' name='listaFornecedores' id='listaFornecedores'
					class='inputTexto' onchange=''>
					<option value='0'>Primeiro selecione o tipo do cadastro</option>
				</select></div>
				</td>
				<td><select style='position: relative; left: 10px; width: 270px'
					size='10' name='fornecedoresSelecionados[]'
					id='fornecedoresSelecionados' class='inputTexto'>
				</select></td>
			</tr>
			<tr>
				<tr>
					<td colspan='3'>&nbsp;</td>
				</tr>
				<tr>
					<td colspan='3'><input
						style='position: relative; left: 500px; width: 100px; height: 30px;'
						type='image' src='templates/btavancar.JPG'></input></td>
				</tr>
				<tr>
					<td colspan='3'>&nbsp;</td>
				</tr>
		
		</table>
		</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<?php include 'rodapeCreditos.php'; ?>
	</tr>
</table>
</form>
</body>
</html>
